iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0

在了解完Maven專案的核心檔案pom.xml後,我們可以了解到在專案開發階段如果要引用相依套件時該如何設定。此外,我也想藉此機會介紹一下Maven的其中一個核心概念即Maven的生命週期(Lifecycle)。

Maven的生命週期就是專案建構的時期,Maven在建構專案時有一套自己的建置流程,它定義了建置的每個階段(Phase)和每個階段會執行的目標(Goal)。

Maven有三種不同的生命週期:

  1. Clean Lifecycle:清理專案的生命週期(3個Phase),目的在於清除先前已建置生成的檔案,這些生成的檔案主要會被存放在target資料夾下,當你在執行clean的生命週期時,target資料夾連同其內部檔案都會被刪除。 項目開發階段如果要進行新的建構時,會建議先使用此生命週期,避免遺留的檔案影響新的建構並確保maven重新編譯了所有程式碼和資源。此外,也可以清理cache解決程式中的快取問題。

  2. Default Lifecycle:建構專案的生命週期(23個Phase),這是Maven最重要的生命週期,是一個用於專案建置的流程,整個過程從編譯到打包,主要的階段如下

    • Validate – 驗證專案是否正確
    • Compile – 編譯專案的程式碼
    • Test – 執行測試程式(Unit Test)
    • Package – 將編譯後的程式碼打包程jar或war檔
    • Verify – 檢查測試結果並確保品質
    • Install – 將打包的結果安裝到本地的maven repository,讓其他本地專案可以使用
    • Deploy – 在本地完成建置且沒問題後,可以透過deploy將打包的結果上傳到遠端的maven repository供其他人使用

    假設我們執行了maven的package指令:

    mvn package
    

    Maven就會從validate開始按順序執行到package才止步 (validate → compile → test → package)

  3. Site Lifecycle:生成專案站點的生命週期(4個Phase),用於產生專案說明文件的網站,會生成html頁面

Clean Lifecycle & Default Lifecycle會是在開發時經常接觸的生命週期


上一篇
Day4 –什麼是Maven(中)
下一篇
Day6 - 控制反轉
系列文
這些年SpringBoot實戰開發教會我的事15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言